package com.huitone.gddw.dao.worktable.paramconfigmanage;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.huitone.gddw.dao.entity.GateDef;
import com.huitone.gddw.service.dto.GateDefDTO;

public interface IGateDefDao {
	/**
	 * 根据主键删除
	 * @param gateLinkId
	 * @return
	 */
    int deleteByPrimaryKey(String gateLinkId);

    int insert(GateDef record);

    /**
     * 保存新增记录
     * @param record
     * @return
     */
    int save(GateDef record);

    /**
     * 根据主键查询记录
     * @param gateLinkId
     * @return GateDef
     */
    GateDef selectByPrimaryKey(String gateLinkId);

    /**
     * 修改记录（为空不修改）
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(GateDef record);

    /**
     * 修改记录（为空也修改）
     * @param record
     * @return
     */
    int updateByPrimaryKey(GateDef record);
    /**
     * 页面列表查询
     * @param map
     * @return
     */
    List<GateDefDTO> selectPage(Map<String,Object> map);
    /**
     * 查询总记录数
     * @param map
     * @return
     */
    int selectCount(Map<String,Object> map);
    /**
     * 根据查询参数，返回记录
     * @param map
     * @return
     */
    List<GateDefDTO> getRecord(Map<String,Object> map);
	/**
	 * 根据主键查询记录（修改页面信息显示）
	 * @param gateLinkId
	 * @return
	 */
    GateDef selectForUpdate(String gateLinkId);
    /**
     * 获取短信通道名
     * @return List<Map<String,Object>>
     */
    List<Map<String,Object>>getGateLink( @Param(value="status") String status,@Param(value="gateLinkName") String  gateLinkName);
    
    /**
     * 获取短信通道
     * @return List<Map<String,Object>>
     */
    List<Map<String,Object>>getGateLinkByGateLinkName(String gateLinkName);
}